#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
//字串出现的次数
int main()
{
	char str[100] = { 0 };
	gets(str);
	char str1[20] = { 0 };
	gets(str1);
	int len = strlen(str1);
	int t = 0;
	for (int i = 0; i < 100; i++)
	{
		int count = 0;
		for (int j = 0; j < len; j++)
		{
			if (str1[j] == str[i])
			{
				count++;
				i++;
				if (count == len)
				{
					t++;
					continue;
				}
			}
		}
	}
	printf("%d", t);
	return 0;
}
//找两个数的最小公倍数
// 最小公倍数等于两个数相乘再除以这两个数的最大公约数
//int main()
//{
//	int m = 0;
//	int n = 0;
//	scanf("%d%d", &m, &n);
//	int max = (m > n ? m : n);
//	for (int i = max;; i++)
//	{
//		if (i % m == 0 && i % n == 0)
//		{
//			printf("%d和%d的最小公倍数为：%d", m, n, i);
//			break;
//		}
//	}
//	return 0;
//}
//找两个数的最大公约数
//方法1
//int main()
//{
//	int m = 0;
//	int n = 0;
//	scanf("%d%d", &m, &n);
//	int min = (m < n ? m : n);
//	for (int i = min; i >0; i--)
//	{
//		if (m % i == 0 && n % i == 0)
//
//		{
//			printf("%d和%d的最大公约数为：%d", m, n, i);
//			break;
//		}
//	}
//	return 0;
//}
//方法二 辗转相除法
//int main()
//{
//	int m = 0;
//	int n = 0;
//	int t = 0;
//	scanf("%d%d", &m, &n);
//	while (t = m % n)
//	{
//			m = n;
//			n = t;
//	}
//	printf("%d和%d的最大公约数为：%d", m,n,n);
//	return 0;
//}